package lgs.hm;

import java.nio.charset.Charset;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.HttpMessageConverters;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;

import lgs.hm.mapper.EmployeeMapper;

@SpringBootApplication
@Controller   //==Component
//@MapperScan(basePackageClasses=EmployeeMapper.class)  //扫描@Mapper加入容器，扫描类
public class Main {
	
	public static void main(String[] args) {
		SpringApplication.run(Main.class,args);
	}

	
	
	@RequestMapping("/hello")
	@ResponseBody
	public String hello() {
		return "<h1>Spring-boot是一场java的技术革命</h1>";
	}
	
	@Value("${date.patten}")
	private String pattern;
	
	@Bean
	public DateFormat dateFormat() {
		return new SimpleDateFormat(pattern);
	}
	
	@Bean
		public HttpMessageConverters fastjsonHttpMessageConverter() {
			// 定义一个转换消息的对象
			FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
			// 添加fastjson的配置信息 比如 ：是否要格式化返回的json数据
			FastJsonConfig fastJsonConfig = new FastJsonConfig();
			fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
			fastJsonConfig.setCharset(Charset.forName("utf-8"));
			// 在转换器中添加配置信息
			fastConverter.setFastJsonConfig(fastJsonConfig);
			HttpMessageConverter<?> converter = fastConverter;
			return new HttpMessageConverters(converter);
	
		}

}
